package com.ruoyi.data.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;
import java.util.List;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 数据列表业务对象 data_list
 *
 * @author ruoyi
 * @date 2023-10-26
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class DataListBo extends BaseEntity {

    /**
     *
     */
    private String dataId;

    /**
     * 分类id
     */
    @NotNull(message = "分类id不能为空", groups = { QueryGroup.class })
    private Long classificationId;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 0 未读 1已读
     */
    private String status;

    /**
     * 批次id
     */
    private String pid;

    /**
     *
     */
    private String data1;

    /**
     *
     */
    private String data2;

    /**
     *
     */
    private String data3;

    /**
     *
     */
    private String data4;

    /**
     *
     */
    private String data5;

    /**
     *
     */
    private String data6;

    /**
     *
     */
    private String data7;

    /**
     *
     */
    private String data8;

    /**
     *
     */
    private String data9;

    /**
     *
     */
    private String data10;

    /**
     *
     */
    private String data11;

    /**
     *
     */
    private String data12;

    /**
     *
     */
    private String data13;

    /**
     *
     */
    private String data14;

    /**
     *
     */
    private String data15;

    /**
     *
     */
    private String data16;

    /**
     *
     */
    private String data17;

    /**
     *
     */
    private String data18;

    /**
     *
     */
    private String data19;

    /**
     *
     */
    private String data20;

    /**
     *
     */
    private String data21;

    /**
     *
     */
    private String data22;

    /**
     *
     */
    private String data23;

    /**
     *
     */
    private String data24;

    /**
     *
     */
    private String data25;

    /**
     *
     */
    private String data26;

    /**
     *
     */
    private String data27;

    /**
     *
     */
    private String data28;

    /**
     *
     */
    private String data29;

    /**
     *
     */
    private String data30;


    private List<filterDataList> filterDataList;

    @Data
    public static class filterDataList{
        /**
         * 筛选字段 如data1 使用数据库字段名驼峰需转下划线
         */
        private String field;

        /**
         //     * 筛选类型 如 =、!=、<、<=、>、>=、包含、不包含、开头是、开头不是、结尾是、结尾不是、是null、不是null、是空的、是非空的、介于、不介于、在列表、不在列表
         */
        private String fieldType;

        /**
         * 筛选字段 1
         */
        private String filterData1;
        /**
         * 筛选字段 2 介于、不介于 使用
         */
        private String filterData2;
    }

}
